<?php
session_start();

  //PROCESAMOS EL FORMULARIO
  $form=$_REQUEST;
  $_SESSION['form']=$form;
  $errors=array();
  
  //COMPROBAMOS SI HAY ERRORES
        //Mediante isset comprobamos si una variable ha sido enviada en la peticion actual.
  
  if(!isset($form['dni']) || $form['dni']==""){
    //echo "ERROR EN DNI";
    array_push($errors, "L_ERROR_DNI_EMPTY");
  }
  
  if(valida_dni($form[dni])==0){      //Validacion de la letra de DNI
    echo "ERROR EN Letra";
    array_push($errors, "L_ERROR_DNI_LETRA");
  }
      
 
  if(!isset($form['nombre']) || $form['nombre']=="")
    echo "ERROR EN Nombre";
    array_push($errors, "L_ERROR_NAME_EMPTY");
    
  if(!isset($form['apellidos']) || $form['apellidos']=="")
    echo "ERROR EN Apellido";
    array_push($errors, "L_ERROR_APELLIDO_VACIO");
    
    
    
  if(!isset($form['telefono']) || $form['telefono']=="")
    echo "ERROR EN telefono";
    array_push($errors, "L_TLF_VACIO");
    
  
  if(!is_numeric($form['telefono'])){
      echo "no es un numero";
      array_push($errors, "L_TLF_NUMERO");
    }
  
  if( strlen($form['telefono'])!=9){
      echo "necesita 9 digitos";
      array_push($errors, "L_TLF_9DIGITOS");
    }
    
    
  if(!isset($form['email']) || $form['email']==""){
    echo "ERROR EN email";
    array_push($errors, "L_ERROR_EMAIL_EMPTY");
  }
  
  if ( $form['email']!="" && !preg_match('/(^[0-9a-zA-Z]+(?:[._][0-9a-zA-Z]+)*)@([0-9a-zA-Z]+(?:[._-][0-9a-zA-Z]+)*\.[0-9a-zA-Z]{2,3})$/',$form['email']) ){
    echo "email incorrecto";
    array_push($errors, "L_ERROR_WRONG_EMAIL");
  }
    
  
  
  if(!isset($form['fechaNacimiento']) || $form['fechaNacimiento']==""){
    echo "ERROR EN fechaNacimiento";
    array_push($errors, "L_ERROR_FECHA_EMPTY");
  }
    
   if(edad($form['fechaNacimiento']) < 18){
    echo "eres menor";
    array_push($errors, "L_MENOR_EDAD");
  }
    
       
    
  if(!isset($form['direccion']) || $form['direccion']==""){
    echo "ERROR EN direccion";
    array_push($errors, "L_ERROR_DIRECCION_VACIA");
  } 
   
    
  if(!isset($form['codigoPostal']) || $form['codigoPostal']==""){
    echo "ERROR EN codigoPostal";
    array_push($errors, "L_CP_VACIO");
    }
    
  if(strlen($form['codigoPostal']) !=5){
      echo "ERROR EN TAMAÑOcodigoPostal";
    array_push($errors, "L_CP_5DIGITOS");
    
  }  
  
    
  if(!isset($form['ciudad']) || $form['ciudad']==""){
    echo "ERROR EN ciudad";
    array_push($errors, "L_ERROR_CIUDAD_EMPTY");
    }
    
    
  if(!isset($form['nombreUsuario']) || $form['nombreUsuario']==""){
    echo "ERROR EN nombreUsuario";
    array_push($errors, "L_ERROR_USERNAME_EMPTY");
    }
   
   
   
  
  if(!isset($form['contraseña']) || $form['contraseña']=="" || strlen($form['contraseña'])<5){
    echo "ERROR EN contraseña";
    array_push($errors, "L_ERROR_PASSWORD_EMPTY");
  }
  
  $espacio=" ";
  if(strpos($form['contraseña'], $espacio) !=FALSE){
    echo "HAY ESPACIOS EN contraseña";
  }
    
  if($form['confirmarContraseña'] != $form['contraseña']){
    echo "ERROR EN confirmarContraseña";
    array_push($errors, "L_ERROR_DIST_PASSWORDS");
  }
    
   
   
   function valida_dni($dni){ // retorna false(0) si hay errror o el DNI validado y con letra si no hay error  
   $str = trim($dni);  
   $str = str_replace("-","",$str);  
   $str = str_ireplace(" ","",$str);  
   $n = substr($str,0,strlen($str)-1);  
   $n = intval($n);  
   if (!is_int($n)){  
      return 0;  
   }  
   $l = substr($str,-1);  
   if (!is_string($l)){  
      return 0;  
   }  
   $letra = substr ("TRWAGMYFPDXBNJZSQVHLCKE", $n%23, 1);  
   if ( strtolower($l) == strtolower($letra)) {  
      return $n.$l;  
   }else{  
      return 0;  
   }
  }
  
  
  function edad($fecha) {
    $fecha_esp = str_replace("/", "-", $fecha);
    $timestamp = strtotime($fecha_esp); 
    $ahora = time(); 
    $edad = ($ahora-$timestamp)/(60*60*24*365); 
    $edad = floor($edad);     
    return $edad;
  }
  
  

?>